require_relative 'play/svtplay'
require_relative 'play/viki'
require_relative 'play/oppetarkiv'
require_relative 'play/tv4play'
require_relative 'play/urplay'
require_relative 'play/sbstv'
require_relative 'play/viaplay'
require_relative 'play/dplay'
require_relative 'play/tv2sumo'
#require_relative 'play/netflix'
require_relative 'play/viasat'
#require_relative 'play/plejmo'
#require_relative 'play/sfanytime'
require_relative 'play/apple'
require_relative 'play/cmore'
#require_relative 'play/discshop'
require_relative 'play/hbonordic'

module Shin
  module Play
    class << self
      # I don't know why I need this
      def new
        self
      end

      # SVTPLAY.SE (SWEDISH CONTENT)
      def svtplay
        @svtplay ||= Svtplay.new
      end

      # VIKI.COM (ASIAN CONTENT)
      def viki
        @viki ||= Viki.new
      end

      # DPLAY (SE, NO, DK)
      def dplay
        @dplay ||= Dplay.new
      end

      # OPPETARKIV.SE (SWEDISH CONTENT)
      def oppetarkiv
        @oppetarkiv ||= Oppetarkiv.new
      end

      # URPLAY.SE (SWEDISH CONTENT)
      def urplay
        @urplay ||= Urplay.new
      end

      # TV4PLAY.SE (NORWEGIAN CONTENT)
      def tv2sumo
        @tv2sumo ||= Tv2sumo.new
      end

      # TV4PLAY.SE (SWEDISH CONTENT)
      def tv4play
        @tv4play ||= Tv4play.new
      end

      # SBSTV (K5, K9, K11) (SWEDISH CONTENT)
      def sbstv
        @sbstv ||= Sbstv.new
      end

      # Viasat (TV3 etc) (NORDIC CONTENT)
      def viasat
        @viasat ||= Viasat.new
      end

      # Viaplay (NORDIC CONTENT)
      def viaplay
        @viaplay ||= Viaplay.new
      end

      # HBO Nordic (NORDIC CONTENT)
      def hbonordic
        @hbonordic ||= Hbonordic.new
      end

      # CMore (NORDIC CONTENT)
      def cmore
        @cmore ||= Cmore.new
      end

      # Apple iTunes (WORLDWIDE CONTENT)
      def apple
        @apple ||= Apple.new
      end

    end
  end
end
